﻿using BLToolkit.DataAccess;
using BLToolkit.Mapping;
using System;
using System.Collections.Generic;

namespace Platform.Model
{
	[TableName("DailyOrder")]
    public class DailyOrder:Devsoft.DB.Models.Flat.Model<DailyOrder>
    {
        /// <summary>
        /// Mã siêu thị dùng để phân biệt (trong CSDL)
        /// </summary>
       [PrimaryKey,Identity]
        public int Id { get; set; }

        /// <summary>
        /// Mã siêu thị (do 2 siêu thị có thể cùng mã)
        /// </summary>
        public int MarketId { get; set; }

        /// <summary>
        /// Mã kho của Platform mặc định là 79
        /// </summary>
        public string WH { get; set; }

        /// <summary>
        /// Mã số đơn đặt hàng ứng với kho Platform
        /// </summary>
        public string PoNo { get; set; }

        /// <summary>
        /// Mã nhà cung cấp mặt hàng
        /// </summary>
        public int SupId { get; set; }

        /// <summary>
        /// Ngày tạo hóa đơn
        /// </summary>
        public DateTime OrderDate { get; set; }

        /// <summary>
        /// Ngày yêu giao hàng tại siêu thị
        /// </summary>
        public DateTime DeliDateST { get; set; }

        /// <summary>
        /// Ngày giao hàng tại kho PlatForm
        /// </summary>
        public DateTime DeliDateWH { get; set; }

        /// <summary>
        /// Thời điểm cập nhật cuối cùng
        /// </summary>
        public DateTime LastUpdated { get; set; }

        /// <summary>
        /// Ghi chú cho lần cập nhật
        /// </summary>
        public string Notes { get; set; }
        
        /// <summary>
        /// Tạo hóa đơn cho siêu thị này trong ngày
        /// </summary>
        [Association(ThisKey = "MarketId", OtherKey = "Id", CanBeNull = false)]
        public Market Market { get; set; }

        /// <summary>
        /// Tên siêu thị đặt hàng
        /// </summary>
        [MapIgnore]
        public string MarketName { get; set; }

        /// <summary>
        /// Địa chỉ siêu thị đặt hàng
        /// </summary>
        [MapIgnore]
        public string MarketAddress { get; set; }

        /// <summary>
        /// Thông tin nhà cung cấp lượng hàng cho siêu thị trong ngày hôm đó
        /// </summary>
        [Association(ThisKey="SupId",OtherKey="Id",CanBeNull=false)]
        public Supplier Supplier { get; set; }

        /// <summary>
        /// Tên nhà cung cấp mặt hàng cho siêu thị
        /// </summary>
        [MapIgnore]
        public string LastName { get; set; }

        /// <summary>
        /// Tên đệm nhà cung cấp mặt hàng cho siêu thị
        /// </summary>
        [MapIgnore]
        public string FirstName { get; set; }

        /// <summary>
        /// Địa chỉ nhà cung cấp mặt hàng cho siêu thị
        /// </summary>
        [MapIgnore]
        public string  SupplierAddress { get; set; }

    }
}
